package com.zhuiyun.project.api.syslog.entity;

import com.fasterxml.jackson.annotation.JsonFormat;
import lombok.Data;
import org.springframework.format.annotation.DateTimeFormat;

import javax.persistence.Column;
import javax.persistence.GeneratedValue;
import javax.persistence.GenerationType;
import javax.persistence.Id;
import java.io.Serializable;
import java.util.Date;

/**
 * 用于操作日志记录的实体类
 * @auther zcy
 * @data 2023/3/22 13:35
 */
@Data
public class SysLog implements Serializable {

    /**
     * @GeneratedValue(strategy= GenerationType.IDENTITY) mysql主键自增方式
     * 主键id 主键必须定义Integer类型 否则主键将返回为0
     */
    @Id
    @Column(insertable = false, name = "id")
    @GeneratedValue(strategy= GenerationType.IDENTITY)
    private Integer id;
    /**
     * 模块
     */
    private String modular;
    /**
     * 类型
     */
    private String type;
    /**
     * 详情
     */
    private String detail;
    /**
     * 方法
     */
    private String method;
    /**
     * 请求参数
     */
    private String requestParam;
    /**
     * 响应参数
     */
    private String responseParam;
    /**
     * 用户id
     */
    private String userId;
    /**
     * 操作用户
     */
    private String userName;
    /**
     * ip地址
     */
    private String ip;
    /**
     * 操作uri
     */
    private String uri;
    /**
     * 增加日期
     */
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")//JsonFormat是出参格式化。
    @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")//DateTimeFormat 是入参格式化；
    private Date createTime;
    /**
     * 项目版本
     */
    private String version;


}
